/*
 * @Author: scopesang
 * @Date: 2022-05-10 13:50:05
 * @LastEditors: scopesang
 * @LastEditTime: 2022-05-10 13:56:01
 * @FilePath: \TypeScript\src\interface\可缺省属性.TS
 * @Description:可缺省属性
 *
 * Copyright (c) 2022 by scopesang/大鹏科技, All Rights Reserved.
 */
// 接口中定义的字段，参数必须传，
// 但有些参数我们希望可传可不传，可以如下：
// ?:
interface IObj {
    name: string;
    age?: number;	// ?表示该参数可传可不传
    [propsName: string]: any
}

function fn(obj: IObj): void {
    console.log(`${obj.name}今年${obj.age || 0}岁`)
}

fn({ name: "张三" })	// 张三今年0岁
// 注意：

// 任意属性和可选属性最好不能共存，即便共存最好类型一致。